using System;
using System.Windows;
using System.Windows.Interactivity;
using System.Windows.Media.Animation;
namespace Microsoft.Expression.Interactivity.Media
{
	public abstract class StoryboardTrigger : TriggerBase<DependencyObject>
	{
		public static readonly DependencyProperty StoryboardProperty = DependencyProperty.Register("Storyboard", typeof(Storyboard), typeof(StoryboardTrigger), new PropertyMetadata(new PropertyChangedCallback(StoryboardTrigger.OnStoryboardChanged)));
		public Storyboard Storyboard
		{
			get
			{
				return (Storyboard)base.GetValue(StoryboardTrigger.StoryboardProperty);
			}
			set
			{
				base.SetValue(StoryboardTrigger.StoryboardProperty, value);
			}
		}
		private static void OnStoryboardChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
		{
			StoryboardTrigger storyboardTrigger = sender as StoryboardTrigger;
			if (storyboardTrigger != null)
			{
				storyboardTrigger.OnStoryboardChanged(args);
			}
		}
		protected virtual void OnStoryboardChanged(DependencyPropertyChangedEventArgs args)
		{
		}
	}
}
